package org.example.mq.common;

import org.example.mq.mqsever.core.BasicProperties;

import java.io.IOException;

/**
 * Created with IntelliJ IDEA.
 * Description:做渐进主义的改良派,不做完没注意的速成派
 * User: XALEXC
 * Date: 2025-06-17
 * Time: 18:35
 */
  /*
    只是一个单纯的函数式接口(回调函数),收到消息之后要处理消息是调用的方法
   */
@FunctionalInterface
public interface Consumer {
    // Delivery 的意思是"投递", 这个方法预期是在每次服务器收到消息之后,来调用
    // 通过这个方法把消息推送给对应的消费者
    // 这里的方法名和参数都是参照RabbitMQ来展开的
    void handleDelivery(String consumerTag, BasicProperties basicProperties,byte[] body) throws MqException, IOException;
}
